import axios from 'axios'
import auth from '../utils/auth'

// 创建axios实例
const request = axios.create({
    baseURL: 'http://localhost:8080', // 基础URL，根据实际配置修改
    timeout: 30000
})

// 请求拦截器 - 添加Token
request.interceptors.request.use(
    config => {
        if (auth.isLogin()) {
            config.headers.Authorization = `Bearer ${auth.getToken()}`
        }
        return config
    },
    error => Promise.reject(error)
)

request.interceptors.response.use(
    response => response.data,
    error => {
        // 处理401未授权错误，但不直接重定向
        if (error.response && error.response.status === 403) {
            console.error('403 Forbidden: 权限不足或会话已过期')
            // 将错误状态添加到error对象中，让调用者决定如何处理
            error.isForbidden = true
        }
        return Promise.reject(error)
    }
)
// 响应拦截器 - 处理错误
// request.interceptors.response.use(
//     response => response.data,
//     error => {
//         // 处理401未授权错误
//         if (error.response && error.response.status === 403) {
//             auth.removeToken()
//             window.location.href = '/login'
//         }
//         return Promise.reject(error)
//     }
// )

export default request